package edu.hbsi.demo2;

public class Animal {
    private String type;//动物的类型

    // 构造方法
    public Animal(String type) {
        this.type = type;
    }

    // 返回动物类型信息
    @Override
    public String toString() {
        return "Animal Type: " + type;
    }

    // 输出动物的叫声信息（这里使用抽象方法，因为不同动物的叫声不同）
    public void sound() {
        System.out.println("This animal makes a sound."); // 默认实现，具体类需要重写
    }
    public interface Flyable {
        // 返回最大的飞行速度
        double flySpeed();
    }
    public class Glede extends Animal implements Flyable {
        public Glede(String type) {
            super(type); // 调用父类构造方法
        }

        // 重写 sound 方法
        @Override
        public void sound() {
            System.out.println("Glede: Screech!");
        }

        // 实现 Flyable 接口的 flySpeed 方法
        @Override
        public double flySpeed() {
            return 90.0; // 假设老鹰的最大飞行速度为 90 km/h
        }
    }
    public class Pigeon extends Animal implements Flyable {
        public Pigeon(String type) {
            super(type); // 调用父类构造方法
        }

        // 重写 sound 方法
        @Override
        public void sound() {
            System.out.println("Pigeon: Coo!");
        }

        // 实现 Flyable 接口的 flySpeed 方法
        @Override
        public double flySpeed() {
            return 60.0; // 假设鸽子的最大飞行速度为 60 km/h
        }
    }
}


